Wireless voice applications often need to transmit frames of information on a priority basis in order to provide the user with a high quality communications experience. For instance, it may be desirable for frames of voice information to be transmitted from a particular wireless communications device before frames of data from the same device. Without the ability to prioritize frames of voice information over frames of data, and depending upon the number of users being serviced and the amount of traffic being processed at a particular point in a wireless network, conversations between wireless communications device users can become delayed. So for instance, from the time one user speaks into their wireless communications device to the time that they receive a response from another user can vary depending upon the ability of a network to manage the traffic volume. A typical solution to this problem is to utilize a higher radio transmission frequency, which in the case of the IEEE 802.11 standard is 2.4 Mhz. It is also common practice to utilize various voice compression algorithms such as well known Pulse Code Modulation, G.726-ADPCM, or G.728-LD-CELP algorithms, in order to more efficiently use the available bandwidth.
In addition to the delay problem caused by the lack of frame prioritization described above, high volumes of network traffic often result in collisions between frames. Collisions happen when the number of users being supported by a particular point in the network becomes high and/or two or more devices attempt to transmit frames of information over the wireless medium at the same time. As the result of such collisions, frames can be delayed which would result in a less than ideal user experience. The collision problem is typically resolved by essentially waiting for the collisions to happen, and than employing various techniques that allow the network devices, attempting to transmit frames of information, to wait before retrying the transmission. The network control protocols CSMA/CD and CSMA/CA implement such solutions to the collision problem. However, both CSMA/CD & CA only reduce the probability of that collisions will happen Generally speaking, network control protocols, such as CSMA/CD & CA, manage the transmission and reception of frames of information which includes such functions as detecting lost packets or frames of information and retransmitting these lost frames. These network management protocols were not developed to resolve such network performance problems as frame prioritization or to eliminate collisions between frames of information. On the other hand, the performance and usability of real-time network applications, such as voice and video, are significantly affected by frame prioritization and collision problems.
As mentioned previously, prioritization and collision problems create significant performance and usability issues for voice applications implemented on wireless communications devices in a wireless LAN (WLAN) environment. As originally constituted, the IEEE 802.11 standard did not specify how to implement QoS functionality on wireless networks. As such, it has been necessary for vendors of wireless communications devices for use on wireless networks to develop proprietary solutions that were compatible with the 802.11 standard in order to provide QoS functionality in a wireless network environment. One such proprietary solution is the subject of U.S. Pat. No. 6,494,499 and was developed by the SpectrLink Corporation called SpectraLink Voice Priority or SVP which can be implemented on a separate network server, on a wireless communications device, or at an access point in a WLAN. The SVP solution operates to prioritize voice frames over data frames and to mitigate collisions caused by two wireless devices attempting to transmit frames over the wireless medium at the same time.
More recently, the IEEE Standards Body has developed QoS enhancements to the 802.11 standard which are embodied in Part 11 to the 802.11 standard which is known as 802.11e. While the QoS enhancements embodied in 802.11e does address the problem of frame transmission priority between voice, video, and data frames generated or stored by a particular wireless communications device and while it addresses the frame collision problem at a particular wireless communications device, it does not address the problem of prioritizing packet transmissions between two or more wireless communications devices all competing for the wireless medium to transmit frames and it does not address collisions that occur between two or more wireless communications devices.
More specifically with regard to the prioritization problem, the IEEE 802.11e standard specifies that individual frames of voice information, for instance, can be labeled according to the priority with which it is desired that they should to be transmitted. For example, if voice, data, and video frames of information are stored in separate queues waiting to be transmitted by a device, all of the voice frames could be labeled highest priority and transmitted first, the video frames could be labeled medium priority and transmitted second, and the data frames could be labeled lowest priority and transmitted third. As mentioned above, while 802.11e does specify enhancements that affect the transmission priority of frames of dissimilar information that are generated by a particular wireless communications device, it does not specify how a wireless communications device can gain access to the wireless medium on a priority basis over one or more other wireless communications devices in order to transmit its frames of information. Generally, the 802.11 standard specifies that every wireless communications device will not contend to transmit data frames onto the wireless medium for a specified period of time after the medium becomes free. In this case that time period is referred to as the Distributed Coordination Function InterFrame Space or DIFS time. One of the 802.11e QoS enhancements to the 802.11 standard specifies a new interframe time called the Arbitration InterFrame Space or AIFS. The AIFS time is a variable time period and can be shorter or longer than a DIFS time depending upon the priority with which it is desired that a frame of information be transmitted.
As mentioned previously, the strategy for dealing with the collision problem specified by the CSMA/CD & CA protocols is to either detect that collisions have occurred or to reserve the medium for a particular communications device so that it can transmit its frames without collisions. Unfortunately, in the case of CSMA/CA, it is probable that collisions will occur between frames that communications devices attempt to transmit onto a medium. Section 9.2.4 of the IEEE 802.11 standard specifies a collision avoidance procedure that utilizes a random back off period which lowers the probability that collisions will occur on a wireless medium. Although the collision avoidance procedure specified by 802.11 is an improvement over that implemented by either CSMA/CD or CA, it still only lowers the probability that collisions will happen.
The collision problem discussed above relates to wireless networks where each of the wireless devices is able to sense the transmissions of all other wireless devices. However, it very often happens that one or more wireless devices may be out of the transmission range of the other wireless devices and so the sensing function of the CSMA/CD or CA protocol and for the IEEE 802.11 standard will not be able to sense the transmissions from the out of range device. This is referred to as a “hidden node problem”. In this case, the existing protocols and standards would not be able to mitigate the collision problem.
We have discovered that it is possible to overcome the frame transmission priority problem between wireless communications devices, to eliminate the frame collision problem between wireless communications devices that are able to sense other devices transmissions, and to mitigate the collision problem in the hidden node case by modifying the inter frame time period that a wireless communications device waits to contend for the medium to transmit a frame of information after the medium becomes idle. Specifically, instead of waiting a standard time period such as a DIFS or AIFS time after the wireless medium become free to contend to transmit a frame of information, we have programmed a wireless communications device to immediately respond to the receipt of a frame of information with the transmission of a frame of information. In so doing, a wireless communications device implementing the method of our invention does not have to contend for the medium with other wireless communications devices which have frames waiting to be transmitted. As a wireless device implementing our invention is able to transmit frames during a time in which all other devices are waiting to contend for the medium, this device is able to transmit its frames on a priority basis and there is no possibility that collisions will happen, at least with respect to the non-hidden node problem. The method of our invention virtually eliminates collisions when there are hidden nodes because the method does not rely on sensing transmissions from all wireless devices associated with a particular access point, but rather responds to frames transmitted from an access point. As the process the AP follows when transmitting frames is serial, it is very unlikely that a hidden device will be transmitting at that time. The practical result of including our invention in a wireless device is that frame transmissions, and therefore user conversation, is not delayed due to priority or collision problems.